/**
 * 删除顺序表中所有值为x的元素
 * 
 * 用k记录顺序表L中不等于x的元素的个数（即需要保存的元素的个数）,
 * 扫描时将不等于x的元素移动到下标k的位置，并更新k的值，扫描结束后修改k的值
 **/

#include <stdio.h>
#include <stdlib.h>

#define MAX_SIZE 50		// 线性表的最大长度
#define ElemType int    // 元素存储类型
#define bool int
#define true !0
#define false 0

typedef struct {
	ElemType data[MAX_SIZE];
	int length;			// 顺序表当前长度
} SqList;

void DeteleX(SqList& L, ElemType x)
{
	int k=0;
	for(int i=0; i<L.length; i++) {
		if(L.data[i] != x) {
			L.data[k]=L.data[i];
			k++;
		}
	}
	L.length = k;	//修改当前顺序表长度，x数量为L.length - k
}